#pragma once


struct IWindow
{
	virtual ~IWindow() {}

	virtual bool Init(XINSTANCE appHandle, void* pMsgProc) = 0;

	virtual void SetCaption(const char* caption) = 0;
	virtual void SetSize(uint width, uint height) = 0;
	virtual void SetPos(int x, int y) = 0;
	virtual uint GetClientWidth() const = 0;
	virtual uint GetClientHeight() const = 0;
	virtual XWND GetHandle() const = 0;

	virtual void CenterScreen() = 0;
	virtual void ToggleFullscreen() = 0;
	virtual void Maximize() = 0;
	virtual void Minimize() = 0;

	virtual void Close() = 0;
};